Recently, a disk array device adopts technologies such as the many-core technology, the multi-thread technology, and the like and a high-performance CPU (Central Processing Unit) and a large-capacity memory are mounted thereon. Such disk array device intensively manages the logical disk to be for various use applications such as DB (Data Base) services, file management services, VOD (Video On Demand) services, and the like.
Because the logical disk has various use applications, there are various characteristics about an input-output pattern of the logical disk. By performing input-output control, resource allocation, or the like according to the characteristic of the logical disk, the input-output performance of the disk array device may be improved.
In International Publication No. 2011/058821, there is disclosed a storage system in which old and new storage programs can coexist by using a virtual machine.
However, when the disk array device performs the input-output control, the resource allocation, or another control that is suitable for the characteristic of a certain logical disk, the performance of another logical disk may be degraded. A specific example of such issue will be described below.
FIG. 9 is a figure showing a specific example for explaining an issue of the related technology. In this example, the disk array device controls a logical disk (LUN (logical unit number) 0) which issues random input-output whose multiplicity is large and whose transfer length is short and a logical disk (LUN1) which issues sequential input-output whose multiplicity is small and whose transfer length is long. An example of the logical disk (LUN0) is the logical disk used for the DB (Data Base) services. An example of the logical disk (LUN1) is the logical disk used for the VOD (Video On Demand) services. It is assumed that a total capacity of a memory block (cache block) secured by a cache memory of the disk array device is 32 KB (kilobytes). It is assumed that the transfer length of the logical disk (LUN0) is 4 kilobytes and the transfer length of the logical disk (LUN1) is 1 megabytes. In this condition, for example, there may be issues like followings.
1) Inefficient Memory Resource Management ((1) in FIG. 9)
As shown in FIG. 9, the logical disk (LUN1) requires an amount of memory larger than the logical disk (LUN0). However, in order to secure a large memory block required by the logical disk (LUN1), it is required to reallocate many small memory blocks of the cache memory. Accordingly, it is necessary to frequently perform a garbage process and a defragmentation process to the cache memory.
2) Excessive CPU Resource Occupancy ((2) in FIG. 9)
Because the transfer length of the logical disk (LUN0) is short, the logical disk (LUN0) can respond to a request in a relatively short time. Because the input-output is issued whenever the logical disk (LUN0) responds, a CPU consumption amount of the disk array device increases with the implementation of the process performed by the logical disk (LUN0). In an extreme case, the CPU performs only the process for the logical disk (LUN0), and an operation in which the CPU performs the process for the logical disk (LUN1) is hardly scheduled. As a result, the response of the logical disk (LUN1) is significantly delayed.
3) Input-Output Issuance Control That Is Not Suitable for the Characteristics of the Logical Disk ((3) in FIG. 9)
The characteristic of the logical disk is different for each type of the logical disk. A HDD (Hard Disk Drive) or a SSD (Solid State Drive) is an example of the type of the logical disk.
When the logical disk (LUN1) stores a certain amount of data in the cache memory and then writes the data in the logical disk, the performance of the logical disk (LUN1) can be elicited. Especially, in a case in which the logical disk is composed of the HDD, the logical disk (LUN1) can suppress seeking and elicit the performance of the disk array device by writing the data in the logical disk sequentially in address order on the basis of an elevator algorithm. Therefore, it is desirable that the logical disk (LUN1) stores the data on the memory block of the cache memory as much as possible. However, when the memory block of the cache memory is largely consumed by a load of the logical disk (LUN0), it becomes impossible the cache memory stores the data of the logical disk (LUN1) in the cache memory. As a result, the data of the logical disk (LUN1) is forced to be stored in the logical disk. In this case, the logical disk (LUN1) is required to issue an input output command many times and whereby, the process becomes inefficient.
On the other hand, in a case in which the logical disk (LUN1) is composed of the SSD, it is not necessary for the logical disk (LUN1) to store the data in the cache memory. This is because the SSD has a mechanism which can properly achieve random access.
In addition, when the block of the cache memory is largely consumed by the load of the logical disk (LUN0), a delay of the process related to a media error check executed by the disk control device may occur.
An object of the present invention is to provide a disk control device, a disk control method, and a recording medium recording a disk control program, which enable to suppress an input-output control in accordance with a characteristic of a certain logical disk from affecting another process, for example, causing performance degradation of another logical disk.